/*
GANESHA - Reasoning on critical infrastructures affected by emergency situations
Copyright (c) 2010-2011, Information Eng. Research Unit - Univ. of Alcala
http://www.cc.uah.es/ie
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 2.1 of the License, or (at your option)
any later version.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.
You should have received a copy of the GNU Lesser General Public License along
with this library; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */

package es.uah.cc.ie.ganesha.results;

import es.uah.cc.ie.ganesha.messaging.AlertMessage;
import java.util.ArrayList;
import java.util.List;

/**
 * This class represents the results inferred by GANESHA.
 * @author ieru
 */
public class GANESHAResults {

	/**
	 * This class represents a set of alert messages to be given as results.
	 */
	public class GANESHAResultSet
	{

		private GANESHAResultEntry<AlertMessage> _uniqueIncident;
		private List<GANESHAResultEntry<AlertMessage>> _incidents = new ArrayList<GANESHAResultEntry<AlertMessage>>();

                /**
                 * Returns the list of incidents.
                 * @return List of incidents.
                 */
                public List<GANESHAResultEntry<AlertMessage>> getIncidents() {
			return _incidents;
		}

                /**
                 * Sets the list of incidents.
                 * @param _incidents List of incidents
                 */
                public void setIncidents(List<GANESHAResultEntry<AlertMessage>> _incidents) {
			this._incidents = _incidents;
		}

                /**
                 * Returns the unique incident
                 * @return Unique incident
                 */
                public GANESHAResultEntry<AlertMessage> getUniqueIncident() {
			return _uniqueIncident;
		}

                /**
                 * Sets the unique incident
                 * @param _uniqueIncident Unique incident
                 */
                public void setUniqueIncident(GANESHAResultEntry<AlertMessage> _uniqueIncident) {
			this._uniqueIncident = _uniqueIncident;
		}
		
	}

	private GANESHAResultSet _realIncidents = new GANESHAResultSet();
	private GANESHAResultSet _potentialIncidents = new GANESHAResultSet();
	//private GANESHAResultSet _incidentesRecomendados = new GANESHAResultSet();

        /**
         * Constructor
         */
        public GANESHAResults()
	{

	}

        /**
         * Returns the potential incidents.
         * @return Potential incidents
         */
        public GANESHAResultSet getPotentialIncidents() {
		return _potentialIncidents;
	}

        /**
         * Returns the real incidents
         * @return Real incidents
         */
        public GANESHAResultSet getRealIncidents() {
		return _realIncidents;
	}

	/*public SAVCEResultSet getIncidentesRecomendados() {
		return _incidentesRecomendados;
	}*/

}
